package com.ruoyi.safe.service;

import com.ruoyi.safe.domain.BizExcludePlan;
import com.ruoyi.safe.domain.BizExcludePlanTask;
import com.ruoyi.safe.domain.dto.BizExcludePlanDTO;
import com.ruoyi.safe.domain.vo.BizExcludePlanDetailVO;
import com.ruoyi.safe.domain.vo.BizExcludePlanVO;

import java.util.List;

/**
 * 隐患风险排查计划Service接口
 *
 * @author buxi
 * @date 2023-11-16
 */
public interface IBizExcludePlanService {
    /**
     * 查询隐患风险排查计划
     *
     * @param id 隐患风险排查计划主键
     * @return 隐患风险排查计划
     */
    BizExcludePlan selectBizExcludePlanById(Long id);

    /**
     * 查询隐患风险排查计划列表
     *
     * @param bizExcludePlan 隐患风险排查计划
     * @return 隐患风险排查计划集合
     */
    List<BizExcludePlan> selectBizExcludePlanList(BizExcludePlan bizExcludePlan);
    /**
     * 查询隐患风险排查计划列表VO
     *
     * @param bizExcludePlan 隐患风险排查计划
     * @return 隐患风险排查计划集合
     */
    List<BizExcludePlanVO> selectBizExcludePlanListVO(BizExcludePlanDTO bizExcludePlan);

    /**
     * 新增隐患风险排查计划
     *
     * @param bizExcludePlan 隐患风险排查计划
     * @return 结果
     */
    int insertBizExcludePlan(BizExcludePlan bizExcludePlan);

    /**
     * 修改隐患风险排查计划
     *
     * @param bizExcludePlan 隐患风险排查计划
     * @return 结果
     */
    int updateBizExcludePlan(BizExcludePlan bizExcludePlan);

    /**
     * 批量删除隐患风险排查计划
     *
     * @param ids 需要删除的隐患风险排查计划主键集合
     * @return 结果
     */
    int deleteBizExcludePlanByIds(Long[] ids);

    /**
     * 删除隐患风险排查计划信息
     *
     * @param id 隐患风险排查计划主键
     * @return 结果
     */
    int deleteBizExcludePlanById(Long id);


    int updateBatchByIds(BizExcludePlan bizExcludePlan);

    List<BizExcludePlanDetailVO> selectBizExcludePlanDetailListVO(BizExcludePlanTask bizExcludePlanTask);
}
